package com.taotao.async.task.spring.handler;


import org.springframework.context.annotation.Import;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Import({TaskHandlerScanner.class, TaskHandlerScannerRegistrar.class, TaskHandlerBeanRegister.class})
public @interface EnableAsyncTask {
    /**
     * Alias for the basePackages() attribute.
     *
     * @return
     */
    String[] value() default {};

    /**
     * Base packages to scan for annotated @ApiHandler classes. {@link #value()} is an
     * alias for (and mutually exclusive with) this attribute.
     * <p>
     *
     * @return the base packages to scan
     */
    String[] basePackages();

}
